package cn.wolfcode.wolf2w.service;

import cn.wolfcode.wolf2w.domain.Strategy;
import cn.wolfcode.wolf2w.domain.StrategyComment;
import cn.wolfcode.wolf2w.query.StrategyCommentQuery;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 攻略评论业务层接口
 */
public interface IStrategyCommentService {

    /**
     * 插入单个攻略评论对象
     * @param strategyComment
     */
    void insert(StrategyComment strategyComment);

    /**
     * 根据id删除某个攻略评论对象
     * @param id
     */
    void deleteById(String id);

    /**
     * 根据id修改某个攻略评论对象
     * @param strategyComment
     */
    void updateById(StrategyComment strategyComment);

    /**
     * 根据id查询某个攻略评论对象
     * @param id    查询条件
     * @return  攻略评论对象
     */
    StrategyComment selectById(String id);

    /**
     * 查询所有攻略评论对象
     * @return  strategyComment的list集合
     */
    List<StrategyComment> selectAll();

    /**
     * 分页和高级查询
     * @param qo    查询条件
     * @return  page对象
     */
    Page<StrategyComment> query(StrategyCommentQuery qo);

    /**
     * 攻略评论点赞/取消点赞
     * @param uid
     * @param cid
     */
    void commentThumb(String uid, String cid);
}
